package com.yunhe.merchants.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunhe.common.annotation.EnumItemCode;
import com.yunhe.common.annotation.OfficeName;
import com.yunhe.common.annotation.UserName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 *  历史状态记录表
 * @author hetao 2021-05-10
 */
@ApiModel(value = "DataHistoryProjectStatus",description = "历史状态记录类")
public class DataHistoryProjectStatus implements Serializable {

    private static final long serialVersionUID = 6289061370099564933L;
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 操作人
     */
    @ApiModelProperty(value = "操作人")
    private Long operator;

    @ApiModelProperty(value = "操作人Name")
    @UserName(userId = "operator")
    private String operatorName;

    /**
     * 操作时间
     */
    @ApiModelProperty(value = "操作时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date operatingTime;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "状态Title")
    @EnumItemCode(code = "companyStatus")
    private String statusTitle;

    /**
     * 需求面积
     */
    @ApiModelProperty(value = "需求面积")
    private String demandArea;

    @ApiModelProperty(value = "需求面积Title")
    @EnumItemCode(code = "areaRequirement")
    private String demandAreaTitle;

    /**
     * 推荐厂房
     */
    @ApiModelProperty(value = "id")
    private String recommendedPlant;


    /**
     * 推荐厂房名称
     */
    @OfficeName(officeId = "recommendedPlant")
    private String recommendOfficeTitle;

    /**
     * 失败原因
     */
    @ApiModelProperty(value = "失败原因")
    private String failureReason;

    @ApiModelProperty(value = "失败原因Title")
    @EnumItemCode(code="failureCause")
    private String failureReasonTitle;

    /**
     * 业务id
     */
    @ApiModelProperty(value = "业务id")
    private String businessId;


    public DataHistoryProjectStatus() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Long getOperator() {
        return operator;
    }

    public void setOperator(Long operator) {
        this.operator = operator;
    }

    public Date getOperatingTime() {
        return operatingTime;
    }

    public void setOperatingTime(Date operatingTime) {
        this.operatingTime = operatingTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }


    public String getRecommendedPlant() {
        return recommendedPlant;
    }

    public void setRecommendedPlant(String recommendedPlant) {
        this.recommendedPlant = recommendedPlant;
    }

    public String getFailureReason() {
        return failureReason;
    }

    public void setFailureReason(String failureReason) {
        this.failureReason = failureReason;
    }

    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public String getStatusTitle() {
        return statusTitle;
    }

    public void setStatusTitle(String statusTitle) {
        this.statusTitle = statusTitle;
    }

    public String getFailureReasonTitle() {
        return failureReasonTitle;
    }

    public void setFailureReasonTitle(String failureReasonTitle) {
        this.failureReasonTitle = failureReasonTitle;
    }

    public void setDemandArea(String demandArea) {
        this.demandArea = demandArea;
    }

    public String getDemandAreaTitle() {
        return demandAreaTitle;
    }

    public void setDemandAreaTitle(String demandAreaTitle) {
        this.demandAreaTitle = demandAreaTitle;
    }

    public String getDemandArea() {
        return demandArea;
    }

    public String getRecommendOfficeTitle() {
        return recommendOfficeTitle;
    }

    public void setRecommendOfficeTitle(String recommendOfficeTitle) {
        this.recommendOfficeTitle = recommendOfficeTitle;
    }
}